package com.taoym.voucher.job.service;

import com.taoym.voucher.job.domain.SysQuartzJob;
import com.taoym.voucher.job.entity.dto.AddJobDTO;
import com.taoym.voucher.job.entity.vo.GetQuartzJobVO;

import java.util.List;

/**
 * @coder taoym
 * @datetime 2021/6/27 13:19
 * @desc 任务服务接口
 */
public interface JobService {

    /**
     * @coder taoym
     * @datetime 2021/6/30 15:07
     * @desc 添加任务
     */
    Integer addJob(AddJobDTO data);

    /**
     * @coder taoym
     * @datetime 2021/6/27 13:22
     * @desc 查询所有定时任务
     */
    List<GetQuartzJobVO> quartzJobs();

    /**
     * @coder taoym
     * @datetime 2021/6/27 13:51
     * @desc 开始任务
     */
    Integer startJob(Integer id);

    /**
     * @coder taoym
     * @datetime 2021/6/30 11:54
     * @desc 停止任务
     */
    Integer stopJob(Integer id);

    /**
     * @coder taoym
     * @datetime 2021/6/30 12:10
     * @desc 继续任务
     */
    Integer proceed(Integer id);

    /**
     * @coder taoym
     * @datetime 2021/6/30 17:33
     * @desc 删除任务
     */
    Integer delete(Integer id);

    /**
     * @coder taoym
     * @datetime 2021/7/17 21:35
     * @desc 重置任务状态
     */
    Integer resetJobStatus(Integer id);
}
